﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Skywave.Data
{
    public class ChartDataGeneratorAxisCases
    {

        private string _SqlInitialization;
        /// <summary>
        /// ...
        /// </summary>
        public string SqlInitialization
        {
            get { return _SqlInitialization; }
            set { _SqlInitialization = value; }
        }

        private Dictionary<string, string> _ColumnsSQLs = new Dictionary<string, string>();
        /// <summary>
        /// Key: column name, Value: SQL used to retreive value
        /// </summary>
        public Dictionary<string, string> ColumnsSQLs
        {
            get { return _ColumnsSQLs; }
            set { _ColumnsSQLs = value; }
        }

        private List<string> _JoinClauses = new List<string>();
        /// <summary>
        /// JoinClauses Property
        /// </summary>
        public List<string> JoinClauses
        {
            get { return _JoinClauses; }
            set { _JoinClauses = value; }
        }

        private List<string> _Params = new List<string>();
        /// <summary>
        /// Params Property
        /// </summary>
        public List<string> Params
        {
            get { return _Params; }
            set { _Params = value; }
        }

        private Dictionary<object, ChartDataGeneratorAggregate> _Aggregates = new Dictionary<object, ChartDataGeneratorAggregate>();
        /// <summary>
        /// Key: column VALUE with this aggregate, Value: The aggregate
        /// </summary>
        public Dictionary<object, ChartDataGeneratorAggregate> Aggregates
        {
            get { return _Aggregates; }
            set { _Aggregates = value; }
        }

    }
}
